From: Jan Beulich Date: Fri, 15 May 2020 14:02:39 +0000 (+0200) Subject: x86/mem-paging: add minimal lock order enforcement to p2m_mem_paging_prep() X-Git-Tag: archive/raspbian/4.14.0+80-gd101b417b7-1+rpi1^2~63^2~266 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=142daae09f4ecafb505d21ea9a2203a3392ecc3b;p=xen.git x86/mem-paging: add minimal lock order enforcement to p2m_mem_paging_prep() While full checking is impossible (as the lock is being acquired/ released down the call tree), perform at least a lock level check. Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monné --- diff --git a/xen/arch/x86/mm/p2m.c b/xen/arch/x86/mm/p2m.c index 60a061216a..9b7b0bf103 100644 --- a/xen/arch/x86/mm/p2m.c +++ b/xen/arch/x86/mm/p2m.c @@ -1816,6 +1816,7 @@ int p2m_mem_paging_prep(struct domain *d, unsigned long gfn_l, uint64_t buffer) goto out; /* Get a free page */ ret = -ENOMEM; + page_alloc_mm_pre_lock(d); page = alloc_domheap_page(d, 0); if ( unlikely(page == NULL) ) goto out;